2 Returns the closest distance between point pnt and the line that passes through points a and b
3 Idea by: http://local.wasp.uwa.edu.au/~pbourke/geometry/pointline/
5 double distance_point_to_line(const point
&a
, const point
&b
, const point
&pnt
){
6 double u
= ((pnt
.x
- a
.x
)*(b
.x
- a
.x
) + (pnt
.y
- a
.y
)*(b
.y
- a
.y
)) / distsqr(a
, b
);
8 intersection
.x
= a
.x
+ u
*(b
.x
- a
.x
);
9 intersection
.y
= a
.y
+ u
*(b
.y
- a
.y
);
10 return dist(pnt
, intersection
);